package com.coderli.onecoder.agent.common;

import com.coderli.onecoder.shared.model.AgentInfo;

/**
 * Agent端配置类，主要负责Agent端的各种参数配置的解析，以及对插件的加载和配置文件的解析
 * 
 * @author lihzh
 * @date 2012-6-29 下午2:53:31
 */
public class AgentConfig {

	private AgentInfo agentInfo;
	private static AgentConfig config;

	private AgentConfig() {
		readAgentInfo();
	}

	/**
	 * 初始化Agent的各种配置
	 * 
	 * @author lihzh
	 * @date 2012-6-29 下午2:55:11
	 */
	public static AgentConfig getConfig() {
		if (config == null) {
			config = new AgentConfig();
		}
		return config;
	}
	

	/**
	 * 读取Agent的基本信息，如果配置文件没有配置，则从用户输入读取
	 * 
	 * @author lihzh
	 * @date 2012-7-3 下午4:05:39
	 */
	private void readAgentInfo() {
		// TODO 临时写死，先完成框架功能
		if (agentInfo == null) {
			agentInfo = new AgentInfo();
		}
		agentInfo.setAgentIp("127.0.0.1");
		agentInfo.setAliaName("Agent One");
	}

	public AgentInfo getAgentInfo() {
		return agentInfo;
	}

	public void setAgentInfo(AgentInfo agentInfo) {
		this.agentInfo = agentInfo;
	}
}
